Rake receiver with multi-path interference accommodation

ABSTRACT

A method of extracting data from a received signal including multi-path interference in a rake receiver. The method includes sampling and filtering the received signal; estimating a time delay (a) between paths for the filtered samples Ψ(τ); and estimating channel complex coefficient (b) for the filtered samples Ψ(τ). Transmitted data x(τ l ) is extracted from the filtered samples Ψ(τ) for each path l by solutions of simultaneous equations of the following filtered samples Ψ(τ) equation (Formula I) wherein k is a particular path, N p  is the number of visible paths, (c) is a a double convolution matrix of the filtering process and (d) is the pseudo inverse, A ss  (τ l )is the product of spreading and scrambling matrices and (e) is the inverse, and (f) is noise.

BACKGROUND AND SUMMARY

The present disclosure is directed to multi-path cancellation in wireless communication and more specifically to accommodating for the multi-path interference.

Multi-path interference is an undesired phenomenon characteristic in the wireless communication field. In certain cases, it can produce serious communication channel impairment. It is characteristic to dense urban areas and confined areas such as shopping malls. One form of multi-path interference cancellation (MPIC) is suggested in “Channel Tracking for Rake Receivers in Closely Spaced Multipath Environments,” Fock et al., IEEE Journal on Selected Areas in Communications, vol. 19, no. 12, pp. 2420-31, December 2001. It uses fading coefficients and relative delays to compute a compensation term that allows cancellation of the effect of other paths on the timing error.

The present method extracts data from a received signal including multi-path interference in a rake receiver. The method includes sampling and filtering the received signal, estimating a time delay {circumflex over (τ)}_(l) between paths for the filtered samples Ψ(τ), and estimating channel complex coefficient ĉ_(l) for the filtered samples Ψ(τ). Transmitted data x(τ_(l)) is extracted from the filtered samples Ψ(τ) for each path l by solutions of simultaneous equations of the following filtered samples Ψ(τ) equation: ${{\Psi(\tau)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}} = {{\sum\limits_{l = 0}^{N_{p - 1}}{{c_{l}\left( \tau_{l} \right)}{x\left( \tau_{l} \right)}{\Lambda_{ss}\left( \tau_{l} \right)}{R_{ff}\left( {\tau_{l} - {\hat{\tau}}_{0}} \right)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}} + {\overset{\overset{⫬}{⫬}}{\underset{\quad}{n}}(\tau)}}$ wherein k is a particular path, N_(p) is the number of visible paths, R_(ff)(τ_(l)−{circumflex over (τ)}₀) is a double convolution matrix of the filtering process and R_(ff) ⁻¹(τ_(k)−{circumflex over (τ)}₀) is the pseudo inverse, Λ_(ss)(τ_(l)) is the product of spreading and scrambling matrices and Λ_(ss) ^(H)({circumflex over (τ)}_(k)) is the inverse, and {tilde over (ñ)}(τ) is noise.

The method is selectively performed for estimated time delay {circumflex over (τ)}_(l) of a duration of one chip or less of the receiver. If the time delay is greater than one chip, no extraction is necessary. The filtered samples Ψ(τ) equations without the noises {tilde over (ñ)}(τ) are solved. The number of solutions may be less or equal to the number of over-samples per chip of the receiver. The solutions of the simultaneous equations may be stored in the receiver and the method performed in software.

These and other aspects of the present invention will become apparent from the following detailed description, when considered in conjunction with accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a rake receiver.

DETAILED DESCRIPTION

FIG. 1 illustrates a generic representation of a rake receiver. The elements are well known and not described herein in detail. Only those elements or functional portions which are used in the present method are illustrated. The rake receiver 10 includes a rake searcher 12 and a channel estimator 14 providing path delay estimations τ₁, τ₂ . . . τ₃ and estimates to the channel coefficients c₁, c₂ . . . c₃ to the main processing portion 16. The main processing portion 16 includes a multi-path interference cancellation (MPIC) portion and a Maximum Ratio Combiner (MRC) portion. Depending upon the structure, these may be hardware or software routines. As described herein, the MPIC is performed in software and achieves multi-path interference cancellation or accommodation by representing the received filtered signal with a linear equation and extracting the transmitted data from the filtered sample for each path by a solution of simultaneous equations of the filtered sample equation.

The present disclosure does not depend upon what method is used to estimate the path delays nor the channel coefficients. Any method of the prior art may be used, as well as any method that may be developed in the future.

The linear equation to be solved is a follows: $\begin{matrix} \begin{matrix} {{{\Psi(\tau)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}} = {{\sum\limits_{l = 0}^{N_{p - 1}}{{c_{l}\left( \tau_{l} \right)}{x\left( \tau_{l} \right)}{\Lambda_{ss}\left( \tau_{l} \right)}{R_{ff}\left( {\tau_{l} - {\hat{\tau}}_{0}} \right)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}} + {{\overset{⫬}{n}(\tau)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}}} \\ {= {{{x\left( {\hat{\tau}}_{k} \right)}{c_{k}\left( \tau_{k} \right)}{\Lambda_{ss}\left( \tau_{k} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}} + {\sum\limits_{\underset{\quad}{\underset{l \neq k}{l = 0}}}^{N_{p - 1}}{{c_{l}\left( \tau_{l} \right)}{x\left( \tau_{l} \right)}{\Lambda_{ss}\left( \tau_{l} \right)}{R_{ff}\left( {\tau_{l} - {\hat{\tau}}_{0}} \right)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}} + {\overset{\overset{⫬}{⫬}}{n}(\tau)}}} \end{matrix} & (1) \end{matrix}$ where: estimating channel complex coefficients c_(l)(τ_(l)) is assumed constant for the duration of a data block;

-   -   Ψ(τ) is filtered samples;     -   {circumflex over (τ)}_(l) is the time delay between paths for         the filtered samples Ψ(τ);     -   x(τ_(l)) is transmitted data to be extracted;     -   R_(ff)(τ_(l)−{circumflex over (τ)}₀) is a double convolution         matrix of the filtering process, and R_(ff) ⁻¹(τ_(k)−{circumflex         over (τ)}₀) is the pseudo inverse;     -   k is a particular path;     -   N_(p) is the number of visible paths;     -   Λ_(ss)(τ_(l)) is the product of spreading s and scrambling S         matrices and Λ_(ss) ^(H)({circumflex over (τ)}_(k)) is the         inverse; and     -   ñ(τ) is noise and ñ(τ)R_(ff) ⁻¹(τ0−{circumflex over (τ)}₀)Λ_(ss)         ^(H)({circumflex over (τ)}₀)={tilde over (ñ)}(τ)

The last sum in the right hand side of equation (1): $\begin{matrix} {\sum\limits_{l = 1}^{N_{p - 1}}{{c_{l}\left( \tau_{l} \right)}{x\left( \tau_{l} \right)}{\Lambda_{ss}\left( \tau_{l} \right)}{R_{ff}\left( {\tau_{l} - {\hat{\tau}}_{0}} \right)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}} & (2) \end{matrix}$ is the multi-path interference.

If the path delay is larger than a chip, the last sum in equation (1) is negligible due to the correlation properties of the scrambling matrix S. Equation (1) becomes Ψ(τ)R _(ff) ⁻¹(τ_(k)−{circumflex over (τ)}₀)Λ_(ss) ^(H)({circumflex over (τ)}_(k))=x({circumflex over (τ)}_(k))c _(k)(τ_(k))Λ_(ss)(τ_(k))Λ_(ss) ^(H)({circumflex over (τ)}_(k))   (3) wherein the solution for transmitted data x(τ_(l)) is $\begin{matrix} {{x\left( {\hat{\tau}}_{k} \right)} = \frac{{\Psi(\tau)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{0} \right)}{{\hat{c}}_{k}^{*}\left( {\hat{\tau}}_{k} \right)}}{\alpha\quad M}} & (4) \end{matrix}$ wherein where α=c₀(τ₀)ĉ₀*({circumflex over (τ)}₀) is constant for the duration of a data block, and M=Λ_(ss)(τ_(k))Λ_(ss) ^(H)({circumflex over (τ)}_(k)).

If equation(4) is used for path delays larger than a chip, it represents an equalizer. Thus, for each path there will be a simple solution. All x_(k) are summed up in a certain ratios using coefficients {circumflex over (β)}_(l) in the MRC. If the entries for R_(ff) ⁻¹(τ_(k)−{circumflex over (τ)}₀)Λ_(ss) ^(H)({circumflex over (τ)}₀)ĉ_(k)*({circumflex over (τ)}_(k)) are stored in the memory, equation (4) is executed in software.

For path delays less than a chip, the last term is not negligible; therefore, a better symbol estimate can be obtained by extracting the data from the received signal, including the multi-path interference term, by solving all the simultaneous equations for all of the paths using equation (1).

The final estimate is the sum of the estimates using coefficients {circumflex over (β)}_(l): $\begin{matrix} {\hat{x} = {\sum\limits_{l = 0}^{N_{p} - 1}{{\hat{\beta}}_{l}{x\left( \tau_{l} \right)}}}} & (5) \end{matrix}$

The following is an example for two path delays less than a chip apart. In order to simplify the writing, the following notation will be used: R _(ff)(τ_(l)−{circumflex over (τ)}₀)=R(l), R _(ff) ⁻¹(τ_(k)−{circumflex over (τ)}₀)=R(k), Λ({circumflex over (τ)}_(l))=Λ(l, Λ(τ_(l))=Λ(l), c _(l)(τ_(l)) =c(l) and x({circumflex over (τ)}_(k))=x(k). Equation (1) for each of the path delays becomes: $\begin{matrix} \left\{ \begin{matrix} {{{\Psi(\tau)}{R^{- 1}(0)}{\Lambda^{H}(0)}} = {{c_{0}{x(0)}{\Lambda(0)}{R(0)}{R^{- 1}(0)}{\Lambda^{H}(0)}} + {c_{1}{x(1)}{\Lambda(1)}{R(1)}{R^{- 1}(0)}{\Lambda^{H}(0)}} + n_{1}}} \\ {{{\Psi(\tau)}{R^{- 1}(1)}{\Lambda^{H}(1)}} = {{c_{0}{x(0)}{\Lambda(0)}{R(0)}{R^{- 1}(1)}{\Lambda^{H}(1)}} + {c_{1}{x(1)}{\Lambda(1)}{R(1)}{R^{- 1}(1)}{\Lambda^{H}(1)}} + n_{2}}} \end{matrix} \right. & (6) \end{matrix}$ Ignoring the noise n, the two simultaneous equations (6) are solved with the following solutions: $\begin{matrix} \begin{matrix} {{x(0)} = {\frac{1}{c_{0}}{\Psi(\tau)}\frac{{{R^{- 1}(0)}{\Lambda^{H}(0)}} - {{R^{- 1}(1)}{\Lambda^{H}(1)}{\Lambda(1)}{R(1)}{R^{- 1}(0)}{\Lambda^{H}(0)}}}{I - {{\Lambda(0)}{R(0)}{R^{- 1}(1)}{\Lambda^{H}(1)}{\Lambda(1)}{R(1)}{R^{- 1}(0)}{\Lambda^{H}(0)}}}}} \\ {{x(1)} = {\frac{1}{c_{1}}{\Psi(\tau)}\frac{I - {{\Lambda(0)}{R(0)}{R^{- 1}(1)}{{\Lambda^{H}(1)}\left\lbrack {{R^{- 1}(1)}{\Lambda^{H}(1)}} \right\rbrack}^{- 1}{R^{- 1}(0)}{\Lambda^{H}(0)}}}{I - {{\Lambda(0)}{R(0)}{R^{- 1}(1)}{\Lambda^{H}(1)}{\Lambda(1)}{R(1)}{R^{- 1}(0)}{\Lambda^{H}(0)}}}}} \end{matrix} & (7) \end{matrix}$ The equations (7) can be simplified as ${x(0)} = {{\frac{1}{c_{0}}{\Psi(\tau)}{H(0)}\quad{and}\quad{x(1)}} = {\frac{1}{c_{1}}{\Psi(\tau)}{H(1)}}}$ and the matrixes H pre-calculated and stored in the memory.

Theoretically, the number of visible paths will be less than or equal to the number of over-samples N_(OVS). Therefore, the maximum number of R_(ff) ⁻¹(τ_(k)−{circumflex over (τ₀)}) matrixes will be N_(OVS), where the values τ_(l)−{circumflex over (τ)}₀=Δτ are equal to the sampling rate. This may depend on the communication format and memory capacity.

Although this application has been designed for 3G WCDMA, it is applicable for other types of networks or communication protocols.

Although the present disclosure has been described and illustrated in detail, it is to be clearly understood that this is done by way of illustration and example only and is not to be taken by way of limitation. The scope of the present invention is to be limited only by the terms of the appended claims. 

1. A method of extracting data from a received signal including multi-path interference in a rake receiver, comprising: sampling and filtering the received signal; estimating a time delay {circumflex over (τ)}₁ between paths for the filtered samples Ψ(τ); estimating channel complex coefficient ĉ_(l) for the filtered samples Ψ(τ); extracting transmitted data x(τ_(l)) from the filtered samples Ψ(τ) for each path l by solutions of simultaneous equations of the following filtered samples Ψ(τ) equation ${{\Psi(\tau)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}} = {{\sum\limits_{l = 0}^{N_{p - 1}}{{c_{l}\left( \tau_{l} \right)}{x\left( \tau_{l} \right)}{\Lambda_{ss}\left( \tau_{l} \right)}{R_{ff}\left( {\tau_{l} - {\hat{\tau}}_{0}} \right)}{R_{ff}^{- 1}\left( {\tau_{k} - {\hat{\tau}}_{0}} \right)}{\Lambda_{ss}^{H}\left( {\hat{\tau}}_{k} \right)}}} + {\overset{\overset{⫬}{⫬}}{n}(\tau)}}$ wherein k is a particular path, N_(p) the number of visible paths, R_(ff)(τ₀−{circumflex over (τ)}₀) is a double convolution matrix of the filtering process and R_(ff) ⁻¹(τ₀−{circumflex over (τ)}₀) is the pseudo inverse, Λ_(ss)(τ_(l)) is the product of spreading and scrambling matrices and Λ_(ss) ^(H)({circumflex over (τ)}₀) is the inverse, and ñ(τ) is noise.
 2. The method according to claim 1, wherein the method is selectively performed for estimated time delay {circumflex over (τ)}_(l) of a duration of one chip or less of the receiver.
 3. The method according to claim 1, wherein the filtered samples Ψ(τ) equations without the noises {tilde over (ñ)}(τ) are solved.
 4. The method according to claim 1, wherein the number of solutions is less than or equal to the number of over-samples per chip of the receiver.
 5. The method according to claim 1, wherein the solutions of the simultaneous equations are stored in the receiver and the method is performed in software.
 6. The method according to claim 5, wherein the number of stored solutions is less than or equal to the number of over-samples per chip of the receiver. 